const webpack = require('webpack');
const prodWebpackConfig = require('./webpack.prod.config')

//第一种打包：传入callback

//err: 只有 webpack 相关的问题，例如配置错误等
//stats.hasErrors():编译错误
webpack(prodWebpackConfig,(err, stats) => {
  if (err) {
    console.error(err.stack || err);
    if (err.details) {
      console.error(err.details);
    }
    return;
  }
  const info = stats.toJson();

  if (stats.hasErrors()) {
    console.error(info.errors);
    return;
  }

  if (stats.hasWarnings()) {
    console.warn(info.warnings);
  }
  console.log('打包成功')

})

//第二种打包：返回Compiler,手动执行
const compiler = webpack(prodWebpackConfig)
compiler.run((err,stats) => {
  compiler.close(closeError => {

  })
})

//第三种watch:会触发编译，变相手动执行

const watching = compiler.watch({},(err, stats) => {

})

watching.close(closeError => {

})

//编译出多个js：MultiCompiler
webpack([
  [
    {entry:"",output:{filename:''}},
    {entry:"",output:{filename:''}}
  ]
],(err, stats) => {})
